<K2 CADの使い方>                    

     逆ネットリスト・ネットコンペア


■ 全般
  
・正確には K2CADのようなパターン設計CADから出力されたリストは ”逆ネットリスト”であり、回路図エディタから出力されるリストが ”ネットリスト”です。 しかし 多くの回路屋さんは
   両方とも ネットリストと呼んでいるようです。
  ・本来のネットリストによるパターンチェック方法は D2CADのような回路図エディタから出力された”ネットリスト”と K2CADのようなキバンパターンCADから出力された”逆ネットリスト”を
   比較する後述のネットコンペア機能等により一致を確認するのが正規の方法です。 
    但し、ネットコンペア機能は 回路図エディタ側の回路部品をすべて部品化してネットリストを出力する必要があること等から若干手間がかかります。回路図は手書きでも 逆ネットリストから
   端子がすべて回路図の各部品端子としてあるか、また余計な端子が接続されていないかを目視でチェックする簡易的なチェックも可能です。
  K2CADでは ネットリストと逆ネットリストを自動的に比較して整合をチエックしてくれる素晴らしいネットコンペア機能がついています。

■ 逆ネットリストの出力方法

  @ メニューの[ツール] → [デザインルールチェック] をクリックすると 下記のデザインルールチェックのダイアログが開きます。
    逆ネットリストは 回路図エディタによるネットリストがなくとも出力することができます。
     尚、下記のデザインルールチェックのダイアログの ”ネット情報出力”グループにある ネットコンペアのチェックボックスは回路図エディタからのネットリストを
    読み込んでいないので Disable(色が薄くなってアクセスができない)状態になっています。



  A ネット情報出力グループの 逆ネットと逆ネットインデックスのチェックボックスにチェックをいれます。 ネットフォーマット形式としてデフォルトで 図研のCR3000が表示されています。
    ネットフォーマット形式はガーバーデータとして規定がないようなので パターン設計CAD毎にフォーマットがことなるようです。わたしはいつも図研のCR3000で出力しています。
    CR3000の場合、上記ダイアログからOKボタンをクリックすると以下の3つのテキストファイルが生成され、メモ帳で表示されます。
      * * * * *.log
      * * * * *.drn
      * * * * *.nix

    * * * * *は プロジェクトのファイル名です。

 サンプルパターンの場合、Circuit A.kcdから以下の各ファイルが生成されます。

1. Circuit A.log -----------------------------------------------------------------------

#
# File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\HP\Project 101\Circuit A.log
# Date : 2014/03/19 14:58:06
#


2. Circuit A.drn -----------------------------------------------------------------------

/*
* K2CAD Reverse Net List File
* File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\HP\Project 101\Circuit A.drn
* Date : 2014/03/19 14:58:06
*/

$CCF
{
NET {
NET000001 : C1(1) , C2(1) , C3(2) , C11(-) , CON1(2) ,
CPU1(5_Vss) ;
NET000002 : C1(2) , CPU1(16_OSC1) , OSC1(2_OSC) ;
NET000003 : C2(2) , CPU1(15_OSC2) , OSC1(1_OSC) ;
NET000004 : C3(1) , C11(+) , CON1(1) , CPU1(14_Vdd) , D1(A) ,
R1(1) ;
NET000005 : CPU1(1_RA2) , R2(2) ;
NET000006 : CPU1(6_RB0/INT) , R1(2) ;
NET000007 : D1(K) , R2(1) ;
}
}


3. Circut A.nix ----------------------------------------------------------------------

#
# File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\HP\Project 101\Circuit A.nix
# Date : 2014/03/19 14:58:06
#
C1 : 1(NET000001), 2(NET000002);

C2 : 1(NET000001), 2(NET000003);

C3 : 1(NET000004), 2(NET000001);

C11 : +(NET000004), -(NET000001);

CON1 : 1(NET000004), 2(NET000001);

CPU1 : 10_RB4( OPEN), 11_RB5( OPEN), 12_RB6( OPEN), 13_RB7( OPEN), 14_Vdd(NET000004),
15_OSC2(NET000003), 16_OSC1(NET000002), 17_RA0( OPEN), 18_RA1( OPEN), 1_RA2(NET000005),
2_RA3( OPEN), 3_RA4( OPEN), 4_^MCLR~( OPEN), 5_Vss(NET000001), 6_RB0/INT(NET000006),
7_RB1( OPEN), 8_RB2( OPEN), 9_RB9( OPEN);

D1 : A(NET000004), K(NET000007);

OSC1 : 1_OSC(NET000003), 2_OSC(NET000002);

R1 : 1(NET000004), 2(NET000006);

R2 : 1(NET000007), 2(NET000005);










■ 簡易的チェック方法(ネットコンペア機能を使わない方法)
    上記のCircuit A.drnを用いて、1つのネットに接続している部品の端子が、 Circut A.nixが1つの部品につながっているネットが容易にわかる形で出力されています。
    Circuit A.drn と 下記の回路図の部品端子を目視で 赤鉛筆等でしるしをつけながら照合してチェックします。




 ■ ネットコンペア機能を使ったチェック方法
  
ネットコンペアとはD2CADのような回路図エディタから出力された”ネットリスト”と K2CADのようなキバンパターンCADから出力された”逆ネットリスト”を
   比較する機能のことです。   ラッツ機能では、未接続の確認は出来ますが、パターンのショートは 検出できません。 ネットコンペア機能では検出できます。

    ネットコンペア機能を使うには、ネットリストをK2CAD側で読み込む必要がありますが 回路図エディタとしてD2CADを使う場合下記の手順になります。
     @ 回路図の電子部品、コネクタ等をすべて部品化する。
     A K2CAD側とD2CAD側の 部品符号 及び 部品の端子名称を 同じにする。
     B D2CAD側でもプロジェクトをつくり、ネットリストを出力する。
     C K2CAD側のプロジェクトでD2CADのプロジェクト 及びネットリストを読込む
       以上 @〜Cの具体例が <リファレンス>のラッツネットにのせてありますので参照願います。


     D K2CADのメニューの[ツール] → [デザインルールチェック] をクリックすると 下記のデザインルールチェックのダイアログが開きます。
       ネットフォーマットはデフォルトの図研のCR3000のままにしておきます。
       ネット情報出力グループのネットコンペアチェックボックスが (D2CAD等回路図エディタ側のネットリストを正常に読込んでいれば)Enable の状態になっているので
       チェックをいれ OKボタンをクリックします。




     E 下記の ***.log, ***.crp, ***.nix, ***.drnの4つのファイルが生成されます。
      (下記例は簡易的チェック方法のD2CAD,K2CADの回路図及びパターン図とは異なっています)
      OK ボタンをクリックしても これらのファイルを開くエディタが設定されていないと
       ***.log, ***.crp, ***.nix, ***.drn ファイルが表示されません。
       エディタとして 秀丸エディタ、ノードパッドなどを指定しておく必要があります。 

        
以下の例は ネットリストと逆ネットリストが 整合がとれて齟齬がない場合です。
    
***.log の例
//------------------------------------------------------------------------
#
# File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\製作実施キバン\09. EXP-MX01\EXP-MX01\EXP-MX01.log
# Date : 2014/05/15 17:18:29
#


***.crp の例
//--------------------------------------------------------------------
/*
* K2CAD Net Compare List File
* File : EXP-MX01.net
* Date : 2014/05/15 17:18:29
*/

<<< Nets assign information >>>
<<< Net information >>>
Total Net Count(s) 95
All Net List Matching





***.nix の例
//------------------------------------------------------------
#
# File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\製作実施キバン\09. EXP-MX01\EXP-MX01\EXP-MX01.nix
# Date : 2014/05/15 17:18:29
#
C1 : 1(NET000001), 2(NET000002);

C2 : 1(NET000003), 2(NET000002);

C3 : 1(NET000004), 2(NET000002);

C4 : 1(NET000005), 2(NET000002);

C5 : 1(NET000006), 2(NET000002);

C6 : 1(NET000007), 2(NET000002);

C7 : 1(NET000008), 2(NET000002);

C11 : 1(NET000006), 2(NET000002);

C12 : 1(NET000006), 2(NET000002);
........
........
........


***.drn の例
//----------------------------------------------------------------------------
/*
* K2CAD Reverse Net List File
* File : C:\Users\ysaito\Documents\K2 CAD\Home K2CAD\製作実施キバン\09. EXP-MX01\EXP-MX01\EXP-MX01.drn
* Date : 2014/05/15 17:18:29
*/

$CCF
{
NET {
NET000001 : C1(1) , CN11(63) , OSC1(1) ;
NET000002 : C1(2) , C2(2) , C3(2) , C4(2) , C5(2) ,
C6(2) , C7(2) , C11(2) , C12(2) , C13(2) ,
C14(2) , C15(2) , C16(2) , C17(2) , C18(2) ,
C31(1) , C32(2) , C33(2) , C34(2) , C35(2) ,
CH4(1) , CN1(3) , CN2(3) , CN3(5) , CN4(2) ,
CN5(5) , CN5(6) , CN6(4) , CN7(5) , CN11(15) ,
CN11(31) , CN11(36) , CN11(45) , CN11(65) , CN11(75) ,
CN15(15) , CN15(31) , CN15(36) , CN15(45) , CN16(65) ,
CN16(75) , CN51(1) , CN51(5) , CN51(12) , CN51(18) ,
CN54(5) , CN55(21) , CN56(2) , CN56(5) , CN56(7) ,
CN56(8) , CN56(9) , CN56(10) , CN61(10) , CN61(16) ,
CN61(42) , CN61(48) , CN61(120) , CN61(9) , CN61(15) ,
CN61(41) , CN61(47) , CN61(119) , LED1(K) , R4(2) ,
REG1(2) , REG2(2) , SW1(1) , VR1(1) ;
NET000003 : C2(1) , CN11(64) , OSC1(2) ;
NET000004 : C3(1) , CN11(73) , CN16(73) , CN61(89) , OSC2(1) ;
NET000005 : C4(1) , CN11(74) , CN16(74) , CN61(90) , OSC2(2) ;
NET000006 : C5(1) , C11(1) , C12(1) , C18(1) , C34(1) ,
CH1(1) , CN5(1) , CN5(2) , CN6(1) , CN52(38) ,
CN53(38) , CN56(1) , CN61(24) , CN61(56) , CN61(23) ,
CN61(55) , FU1(1) , REG1(1) , REG2(1) , VR1(3) ;
NET000007 : C6(1) , C13(1) , C14(1) , C15(1) , C16(1) ,
C17(1) , C32(1) , C35(1) , CH2(1) , CN1(2) ,
CN2(2) , CN5(3) , CN5(4) , CN11(2) , CN11(16) ,
CN11(30) , CN11(37) , CN11(46) , CN11(62) , CN11(86) ,
CN15(2) , CN15(16) , CN15(30) , CN15(37) , CN15(46) ,
CN16(62) , CN16(86) , CN51(2) , CN51(4) , CN54(1) ,
CN54(2) , CN54(3) , CN54(4) , CN61(22) , CN61(54) ,
CN61(108) , CN61(21) , CN61(53) , CN61(107) , R2(1) ,
R3(1) , REG1(3) ;
NET000008 : C7(1) , C33(1) , CH3(1) , CN51(3) , REG2(3) ;
NET000009 : C31(2) , CN11(85) , CN16(85) ;
.........
.........
.........



   Fネットリストと逆ネットリストが整合がとれていない場合 以下のような***.crpファイルが出力されます。
     ファイルに表示される 表示文字・記号の意味を以下の表の記載します。

   表示文字・記号    不整合・齟齬の内容 備考
OPENNET
===
回路図にあって基板に存在しない部品番号の端子があるときに出力されます。
未接続の端子が存在しています。
  
!!! 回路図のネットと比較して正しいと思われる基板上のネット
  
### 回路図のネットと比較してショートしていると思われる基板上のネット

         





以下、不整合・齟齬のある***.crp ファイル(例)の抜粋
//--------------------------------------------------------------------
/*
* K2CAD Net Compare List File
* File : EXP-MX0.net
* Date : 2014/05/11 09:29:43
*/

<<< Nets assign information >>>
GND ->
=== OPEN_NET ;

!!! NET000002 : C1(2) , C2(2) , C3(2) , C4(2) , C5(2) ,
C6(2) , C7(2) , C11(2) , C12(2) , C13(2) ,
C14(2) , C15(2) , C16(2) , C17(2) , C18(2) ,
C31(1) , C32(2) , C33(2) , C34(2) , C35(2) ,
CH4(1) , CN1(3) , CN2(3) , CN3(5) , CN4(2) ,
CN6(4) , CN7(5) , CN11(15) , CN11(31) , CN11(36) ,
CN11(45) , CN11(65) , CN11(75) , CN15(15) , CN15(31) ,
CN15(36) , CN15(45) , CN16(65) , CN16(75) , CN51(1) ,
CN51(5) , CN51(12) , CN51(18) , CN54(5) , CN55(21) ,
CN56(2) , CN56(5) , CN56(7) , CN56(8) , CN56(9) ,
CN56(10) , CN61(9) , CN61(15) , CN61(41) , CN61(47) ,
CN61(119) , CN61(10) , CN61(16) , CN61(42) , CN61(48) ,
CN61(120) , R4(2) , REG1(2) , REG2(2) , SW1(1) ,
VR1(1) ;

### NET000002 : C5(1) , C6(1) , C11(1) , C12(1) , C13(1) ,
C14(1) , C15(1) , C16(1) , C17(1) , C18(1) ,
C32(1) , C34(1) , C35(1) , CH1(1) , CH2(1) ,
CN1(2) , CN2(2) , CN5(1) , CN5(2) , CN5(3) ,
CN5(4) , CN5(5) , CN5(6) , CN6(1) , CN6(2) ,
CN6(3) , CN7(1) , CN7(2) , CN7(3) , CN7(4) ,
CN11(2) , CN11(16) , CN11(30) , CN11(37) , CN11(46) ,
CN11(51) , CN11(52) , CN11(56) , CN11(57) , CN11(62) ,
CN11(86) , CN15(2) , CN15(16) , CN15(30) , CN15(37) ,
CN15(46) , CN16(51) , CN16(52) , CN16(56) , CN16(57) ,
CN16(62) , CN16(86) , CN51(2) , CN51(4) , CN52(38) ,
CN53(38) , CN54(1) , CN54(2) , CN54(3) , CN54(4) ,
CN56(1) , CN61(21) , CN61(23) , CN61(53) , CN61(55) ,
CN61(107) , CN61(2) , CN61(4) , CN61(6) , CN61(8) ,
CN61(22) , CN61(24) , CN61(54) , CN61(56) , CN61(108) ,
R1(1) , R3(1) , R4(1) , REG1(1) , REG1(3) ,
REG2(1) , VR1(3) ;

....
....
....


6 ->
!!! NET000016 : CN11(6) , CN15(6) , CN51(17) , CN54(10) , CN61(85) ;

### NET000016 : CN11(7) , CN15(7) , CN51(14) , CN54(7) , CN61(86) ;

7 ->
!!! NET000016 : CN11(7) , CN15(7) , CN51(14) , CN54(7) , CN61(86) ;

### NET000016 : CN11(6) , CN15(6) , CN51(17) , CN54(10) , CN61(85) ;

41 ->
!!! NET000041 : CN11(41) , CN15(41) , CN56(11) , CN61(81) ;

### NET000041 : CN11(42) , CN15(42) , CN56(12) , CN61(82) ;

42 ->
!!! NET000041 : CN11(42) , CN15(42) , CN56(12) , CN61(82) ;

### NET000041 : CN11(41) , CN15(41) , CN56(11) , CN61(81) ;

....
....
....
....


以下、不整合・齟齬がない場合の ***.crp ファイル(例)です。
//--------------------------------------------------------------------
/*

/*
* K2CAD Net Compare List File
* File : EXP-MX01.net
* Date : 2014/06/18 00:33:10
*/

<<< Nets assign information >>>
<<< Net information >>>
Total Net Count(s) 95
All Net List Matching




  以上、 K2CADの山下さんからおしえていただいたことをまとめたものです。